A multifunction peripheral capable of being connected to a computer or the like via a USB (universal serial bus) interface has been produced commercially. A common configuration for such a multifunction peripheral known in the art includes endpoints for transferring data to a plurality of functions.
However, as the number of functions increases, the number of endpoints also increases, resulting in an expensive hardware construction that increases manufacturing costs for the multifunction peripheral. Hence, this configuration poses difficulties in providing a low-cost multifunction peripheral.
To resolve this problem, Japanese unexamined patent application publications Nos. 2001-222503 and 2005-175936 have proposed techniques for reducing the number of endpoints provided in a multifunction peripheral. The technology in Japanese unexamined patent application publication No. 2001-222503, for example, enables a host device to selectively access a plurality of functions via the same endpoints by emulating a device that disconnects from a device having one function and connects to a device having another function.
The technology described in Japanese unexamined patent application publication No. 2005-175936 reduces the number of endpoints used for transferring data by performing data transfers using a control endpoint provided separately from data transfer endpoints.
However, with the technology disclosed in Japanese unexamined patent application publication No. 2001-222503, the device driver must be switched on the host device side (disabling the driver not being used and loading and enabling the driver to be used) each time one of the functions on the multifunction peripheral is used. Accordingly, considerable time is required for switching device drivers, and two or more functions cannot be used simultaneously.
Further, with the technology disclosed in Japanese unexamined patent application publication No. 2001-222503, when operating one function on the multifunction peripheral, it is not possible to switch to a different function until the operation of the first function is reliably ended. Accordingly, it is difficult to determine a suitable timing for controlling this switch.
In the technology disclosed in Japanese unexamined patent application publication No. 2005-175936, the control endpoint is used for data transfers. Therefore, when a large amount of data is being transferred, this data transfer can interfere with control, making it difficult to perform required control promptly.
Hence, even though the conventional technologies described above can reduce the number of required endpoints, the multifunction peripheral is less user-friendly and may interfere with suitable control.